package com.bsg.upm.dto;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

/**
 * 服务数据传输对象
 * 
 * @author HCK
 *
 */
public class ServDto extends BaseDto implements Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	/**
	 * 区域名
	 */
	private String areaName;

	/**
	 * 业务系统名
	 */
	private String businessSystemName;

	/**
	 * 业务子系统名
	 */
	private String businessSubSystemName;

	/**
	 * 服务名称
	 */
	private String servName;

	/**
	 * 服务类型
	 */
	private String type;

	/**
	 * 所属 租户
	 */
	private String owner;

	/**
	 * 分片结构
	 */
	private Boolean sharding;

	/**
	 * 状态
	 */
	private String status;

	/**
	 * 状态文本
	 */
	private String statusText;

	/**
	 * SWM状态
	 */
	private String availableStatus;

	/**
	 * SWM状态文本
	 */
	private String availableStatusText;

	/**
	 * 任务状态
	 */
	private String taskStatus;

	/**
	 * 任务状态文本
	 */
	private String taskStatusText;

	/**
	 * 子服务
	 */
	private List<SubServDto> subServs = new ArrayList<>();

	/**
	 * 获取区域名
	 * 
	 * @return areaName 区域名
	 */
	public String getAreaName() {
		return areaName;
	}

	/**
	 * 设置区域名
	 * 
	 * @param areaName
	 *            区域名
	 */
	public void setAreaName(String areaName) {
		this.areaName = areaName;
	}

	/**
	 * 获取业务系统名
	 * 
	 * @return businessSystemName 业务系统名
	 */
	public String getBusinessSystemName() {
		return businessSystemName;
	}

	/**
	 * 设置业务系统名
	 * 
	 * @param businessSystemName
	 *            业务系统名
	 */
	public void setBusinessSystemName(String businessSystemName) {
		this.businessSystemName = businessSystemName;
	}

	/**
	 * 获取业务子系统名
	 * 
	 * @return businessSubSystemName 业务子系统名
	 */
	public String getBusinessSubSystemName() {
		return businessSubSystemName;
	}

	/**
	 * 设置业务子系统名
	 * 
	 * @param businessSubSystemName
	 *            业务子系统名
	 */
	public void setBusinessSubSystemName(String businessSubSystemName) {
		this.businessSubSystemName = businessSubSystemName;
	}

	/**
	 * 获取服务名称
	 * 
	 * @return servName 服务名称
	 */
	public String getServName() {
		return servName;
	}

	/**
	 * 设置服务名称
	 * 
	 * @param servName
	 *            服务名称
	 */
	public void setServName(String servName) {
		this.servName = servName;
	}

	/**
	 * 获取服务类型
	 * 
	 * @return type 服务类型
	 */
	public String getType() {
		return type;
	}

	/**
	 * 设置服务类型
	 * 
	 * @param type
	 *            服务类型
	 */
	public void setType(String type) {
		this.type = type;
	}

	/**
	 * 获取所属租户
	 * 
	 * @return owner 所属租户
	 */
	public String getOwner() {
		return owner;
	}

	/**
	 * 设置所属租户
	 * 
	 * @param owner
	 *            所属租户
	 */
	public void setOwner(String owner) {
		this.owner = owner;
	}

	/**
	 * 获取分片结构
	 * 
	 * @return sharding 分片结构
	 */
	public Boolean getSharding() {
		return sharding;
	}

	/**
	 * 设置分片结构
	 * 
	 * @param sharding
	 *            分片结构
	 */
	public void setSharding(Boolean sharding) {
		this.sharding = sharding;
	}

	/**
	 * 获取状态
	 * 
	 * @return status 状态
	 */
	public String getStatus() {
		return status;
	}

	/**
	 * 设置状态
	 * 
	 * @param status
	 *            状态
	 */
	public void setStatus(String status) {
		this.status = status;
	}

	/**
	 * 获取状态文本
	 * 
	 * @return statusText 状态文本
	 */
	public String getStatusText() {
		return statusText;
	}

	/**
	 * 设置状态文本
	 * 
	 * @param statusText
	 *            状态文本
	 */
	public void setStatusText(String statusText) {
		this.statusText = statusText;
	}

	/**
	 * 获取SWM状态
	 * 
	 * @return availableStatus SWM状态
	 */
	public String getAvailableStatus() {
		return availableStatus;
	}

	/**
	 * 设置SWM状态
	 * 
	 * @param availableStatus
	 *            SWM状态
	 */
	public void setAvailableStatus(String availableStatus) {
		this.availableStatus = availableStatus;
	}

	/**
	 * 获取SWM状态文本
	 * 
	 * @return availableStatusText SWM状态文本
	 */
	public String getAvailableStatusText() {
		return availableStatusText;
	}

	/**
	 * 设置SWM状态文本
	 * 
	 * @param availableStatusText
	 *            SWM状态文本
	 */
	public void setAvailableStatusText(String availableStatusText) {
		this.availableStatusText = availableStatusText;
	}

	/**
	 * 获取任务状态
	 * 
	 * @return taskStatus 任务状态
	 */
	public String getTaskStatus() {
		return taskStatus;
	}

	/**
	 * 设置任务状态
	 * 
	 * @param taskStatus
	 *            任务状态
	 */
	public void setTaskStatus(String taskStatus) {
		this.taskStatus = taskStatus;
	}

	/**
	 * 获取任务状态文本
	 * 
	 * @return taskStatusText 任务状态文本
	 */
	public String getTaskStatusText() {
		return taskStatusText;
	}

	/**
	 * 设置任务状态文本
	 * 
	 * @param taskStatusText
	 *            任务状态文本
	 */
	public void setTaskStatusText(String taskStatusText) {
		this.taskStatusText = taskStatusText;
	}

	/**
	 * 获取子服务
	 * 
	 * @return subServs 子服务
	 */
	public List<SubServDto> getSubServs() {
		return subServs;
	}

	/**
	 * 设置子服务
	 * 
	 * @param subServs
	 *            子服务
	 */
	public void setSubServs(List<SubServDto> subServs) {
		this.subServs = subServs;
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see java.lang.Object#toString()
	 */
	@Override
	public String toString() {
		return "ServDto [areaName=" + areaName + ", businessSystemName=" + businessSystemName
				+ ", businessSubSystemName=" + businessSubSystemName + ", servName=" + servName + ", type=" + type
				+ ", owner=" + owner + ", sharding=" + sharding + ", status=" + status + ", statusText=" + statusText
				+ ", availableStatus=" + availableStatus + ", availableStatusText=" + availableStatusText
				+ ", taskStatus=" + taskStatus + ", taskStatusText=" + taskStatusText + ", subServs=" + subServs + "]";
	}

}
